package general;

import java.io.*;
import java.util.*;

public class Fichier {

	// Cette méthode prends en entrée une adresse de répertoire et une
	// extension, en renvoie une liste de String de tout les noms de fichiers
	// comportant la bonne extension dans le répertoire
	public static ArrayList<String> lire(String adresse, String extension) 
	{
		File repertoire = new File(adresse);
		String[] listefichiers;
		ArrayList<String> resu = new ArrayList<String>();
		listefichiers = repertoire.list();
		//System.out.println(listefichiers.length);
		
		for (int i = 0; i < listefichiers.length; i++) 
		{
			if (listefichiers[i].endsWith(extension) == true) 
			{
				//System.out.println(listefichiers[i]);
				resu.add(listefichiers[i]);
			}
		}
		return resu;
	}

	public static int[][] remplirMatrice(String nomFichier) throws NumberFormatException, IOException 
	{
		InputStream ips = new FileInputStream(nomFichier);
		InputStreamReader ipsr = new InputStreamReader(ips);
		BufferedReader br = new BufferedReader(ipsr);
		String ligne;
		int tailleMatrice = 0;
		int cptr = 0;
		String[] tableauAux;
		br.readLine();
		
		while (((ligne = br.readLine()) != null) && (cptr < 1)) 
		{
			tailleMatrice = Integer.parseInt(ligne);
			//System.out.println("Taille de la matrice: " + tailleMatrice);
			cptr++;
		}
		
		int[][] resu = new int[tailleMatrice][tailleMatrice];
		cptr=0;
		
		while (((ligne = br.readLine()) != null)) 
		{
			tableauAux = ligne.split(" ");
			//System.out.println(ligne);
			// transformer le tableau de String en tableau d'integer, puis
			// chaque tableau = une ligne de la matrice finale
			for (int i = 0; i < tableauAux.length; i++) 
			{
				resu[cptr][i] = Integer.parseInt(tableauAux[i]);
			}
			cptr++;
		}
		
		br.close();

		return resu;
	}
}
